#ifndef FACE_MODEL_H
#define FACE_MODEL_H

#include "MarkerTracker.h"
#include "SimpleVectorMatrix.h"
#include <vector>

enum FaceParts { EYES_LINE, RIGHT_EYE, LEFT_EYE, NOSE, MOUTH, CHIN };

class FaceModel
{
public:
	FaceModel();
	~FaceModel();

	void applyTransformMatrix(FaceParts face_part);
	void updateModel();
	void displayModelPoints();
	void clearModel();

private:
	std::vector<Point3D> mExpectedPoints;
	int mFramesSaved;	
	Point3D mCenterPoint;

private:
	Point convert3DTo2D(Point3D &p);
	void drawPoint2D(Point &p);
};

extern FaceModel faceModel;

#endif